1. Field of the Invention
Embodiments of the present invention generally relate to installing application files and, more particularly, to method and apparatus for validating the integrity of installer files prior to installation of an application.
2. Description of the Related Art
With the availability of software applications for purchase and download from the Internet, software piracy has become an increasing problem. Software applications are typically associated with “installer files” (sometimes called “installer packages”) that control the installation of a software application (typically comprising a plurality of files) on a user's computer. A purchaser may opt to install a less expensive version of the software application, often obtained, either knowingly or unknowingly, as the result of software piracy. A pirated version of a software application lacks integrity, i.e., faith in its expected flawless performance is diminished due to its unauthorized source, and is therefore more likely to either not launch, launch but operate improperly, or worse, crash the purchaser's computer. In addition, software updates and other purchaser support features for the pirated version of the software may fail because a valid (i.e., authorized) software application is not installed. Generally, the purchaser does not learn that the product is a pirated version at the time of application download or while beginning the installation of the application. Instead, the purchaser learns that the product is a pirated version while trying to resolve issues of the installer that may occur after the user has spent an hour or two of time on installation of the application (due, for example, to a long download time), when updates to the application fail, or when the purchaser calls customer support to get the issues resolved. Such issues or failure may cost the purchaser time and money.
Apart from authenticity of the installer files or installer packages, it is also possible that the software product itself is corrupted during downloading or transferring of the software application product from a source medium or network location to a destination. The corrupted software product may harm the destination medium on a destination machine. In some instances, a corrupted software product will begin installing the software product, but then fail to complete the installation. Accordingly, in a large organization where multiple software applications are used and maintained, each failure of an installer package may lead to loss of productivity for the organization, and in some cases may even harm computers of the organization.
Therefore, there is a need in the art for a method and apparatus for validating the integrity of computer software installer files (from both of an authenticity point of view as well as from a file corruption point of view) prior to the installation of computer software.